Update opportunities-v6 with dev branch - #2152
Merged
Merged
Conversation
What was broken Support Team members could close an unassigned ticket, and the closed-ticket detail did not identify who closed it. Root cause The close control checked only Support Team membership, and the UI contract omitted the closer ID already stored by the API. What was changed Disable closure unless the current Support Team user is assigned, accept the optional closer ID, and display the matching assignee handle with a stored-ID fallback. Any added/updated tests Updated TicketDetailPage coverage for unassigned and assigned closure access, closer-handle display, and legacy closer-ID fallback.
What was broken Dashboard report tooltips listed each series value for a month but did not show the combined monthly total. Root cause The shared Highcharts configuration only defined the header and per-series rows. It had no formatter or footer that calculated a total, and stack totals would not cover the grouped Challenge Participation report. What was changed Extended the shared dashboard tooltip formatter to preserve the existing Highcharts content, sum every hovered series point, and append a comma-formatted Total row. Currency reports include the dollar prefix while count reports remain unit-free. Any added/updated tests Updated DashboardChart coverage for currency totals, stacked count totals, and grouped count totals. All 13 Reports suites (54 tests), lint, and the production build pass. The full repository test command was run twice and retains 18 unrelated failures in existing Work, Wallet Admin, Profiles, and Engagements tests.
What was broken Copilot-only users editing Design Challenges saw the complete review configuration and had to assign checkpoint and final screeners independently. Root cause The Review section did not distinguish copilot-only Design Challenge editing from admin and manager configuration, and each screening reviewer synchronized only its own resource role. What was changed Show a single Screener selector for copilot-only Design Challenges while leaving the full interface for administrators and managers. Synchronize the selected member across Checkpoint Screener and Screener resources, preserve hidden reviewer defaults, and guard replacement, clearing, legacy assignments, request failures, and overlapping updates. Any added/updated tests Added coverage for role and challenge-type gating, simplified rendering, two-round and one-round assignment, replacement and clearing, legacy handle-only resources, fetch failures, in-flight locking, and preservation of reviewer configuration.
What was broken The previous PM-5787 changes allowed the standard Screener assignment to be deferred, but an empty Checkpoint Screener assignment still blocked draft saves and launches. Root cause The shared optional-assignment helper matched only the exact Screening phase name and explicitly excluded Checkpoint Screening. What was changed Extended the optional member-assignment policy to both Screening and Checkpoint Screening while keeping their reviewer configurations and scorecards required. Updated the Challenge Editor documentation to describe both deferred roles. Any added/updated tests Updated schema, required-field, save, launch, resource-allocation, and hydration coverage for an unassigned Checkpoint Screener. The four focused suites pass with 124 tests; lint and the production build pass. The full repository run matches the clean dev baseline with 222 passing suites and 18 unrelated failing suites.
What was broken Late July 31 SFDC payments could render as August 1 when the report was viewed from a browser in a positive-offset timezone. Root cause The payment table formatted timestamps in the browser's local timezone even though SFDC payment reports use America/New_York calendar dates. What was changed Render SFDC payment timestamps explicitly in America/New_York while preserving the existing browser-local formatting for billing-account profile dates. Any added/updated tests Added a Reports page regression using the reported July 31 boundary in Asia/Colombo. The test also confirms billing-account profile dates keep their existing formatting.
What was broken Review showed only the newest submission per member when a Design challenge allowed more than one. Work Manager could also reset the visible submission-limit selection after saving a draft when the save response omitted that metadata entry. Root cause Review reduced every finite limit to the API's single isLatest flag and grouped history without using the configured count or exact submission type. The draft editor trusted sparse save-response metadata when resetting the form. What was changed Resolve the same latest-X Design policy used by the backend, rank complete member/type history before phase eligibility, and display every eligible Screening and Review row within that window. Preserve unlimited Design behavior and Development's latest-one behavior. Retain the submitted submissionLimit value when a successful draft response omits that entry. Any added/updated tests Added and updated regression coverage for finite counts, unlimited and malformed metadata, independent contest/checkpoint histories, rank-before-eligibility, Review row forwarding, Screening selection, and Work Manager draft-save metadata preservation.
What was broken Support staff and ticket raiser replies displayed only their handles, making their roles difficult to distinguish. Root cause The ticket conversation rendered reply handles without using the existing author and ticket-owner IDs to identify support-authored responses. What was changed Append (Support Team) to replies authored by someone other than the ticket owner. Ticket-owner replies remain unchanged, including when the owner also holds the Support Team role. Any added/updated tests Added TicketDetailPage coverage that verifies the suffix appears for support replies and not for ticket-owner replies.
What was broken The Open support request modal labeled its challenge picker "Challenge (if applicable)" even though only active challenges are available. Root cause The picker label did not reflect the active-status filter already applied by the challenge service. What was changed Renamed the picker label to "Active Challenge (if applicable)". Any added/updated tests Updated the existing modal tests to query and verify the new accessible label.
What was broken Links rendered from a support ticket Description navigated the current Support tab instead of opening a new tab. Root cause The shared Support Markdown renderer used ReactMarkdown's default anchor output, which does not set a new-tab target. What was changed Added a scoped Markdown anchor renderer that preserves the link destination while applying target="_blank" and rel="noopener noreferrer". Updated the renderer documentation to describe the behavior. Any added/updated tests Added regression coverage for the bare GFM challenge URL shown in the ticket recording, including href, target, and rel assertions. All 9 Support test suites, lint, and the production build pass. The repository-wide suite still has unrelated failures reproduced on clean origin/dev.
PM-5861: Add totals to dashboard report tooltips
PM-5858: Require assignment before ticket closure
PM-5852: Open support description links in new tabs
PM-5853: Rename active challenge label
PM-5381 Add Member not found page for non existing handles
PM-5879 Fix rating charts label
PM-5819 Fix engagement details styling
PM-5820 Show N/A daysLeftInEngagement for terminated assignments
PM-5755: Simplify design screener assignment
PM-5787: Allow deferred checkpoint screener assignment
PM-5839: Render SFDC payment dates consistently
PM-5758: finish design submission limit handling
Resolve the TicketDetailPage test conflict while preserving both reply-role labelling and the newer assignment/closure coverage. Fix stale deferred-screener fixture references exposed by the merged dev build.
PM-5857: Label support team replies
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related JIRA Ticket:
https://topcoder.atlassian.net/browse/
What's in this PR?